package furns.dao;

import furns.entity.Furn;

import java.util.List;

public interface FurnDAO {
    //定义一个抽象方法，返回所有的家具信息的集合。由子类实现
    public List<Furn> queryFurns();

    //定义一个抽象方法用来保存家具信息
    public int saveFurn(Furn furn);

    //定义一个抽象方法来删除家居
    public int deleteFurnById(int id);

    //定义一个抽象方法根据id查询家具信息
    public Furn queryFurnById(int id);

    //定义一个抽象方法来修改家居信息。
    public int updateFurn(Furn furn);

    //分析：把Page中可以直接从数据库中获取的属性 交给DAO层来完成
    //定义一个抽象方法用来获取数据库中家具的总记录数
    public int getTotalRow();

    //定义一个抽象方法用来获取分页后的数据
    //参数：begin：表示从第几条数据开始获取（索引从0开始），pageSize：表示获取多少条数据
    public List<Furn> getPageItems(int begin, int pageSize);

    //定义一个抽象方法根据家居名称来获取数据库中该家具的总数量
    public int getPageTotalCountByName(String name);

    //定义一个抽象方法获取数据库中指定名称的家居对象
    public List<Furn> getPageItemsByName(String name, int begin, int pageSize);
}
